//  https://leetcode-cn.com/problems/remove-k-digits
//  RemoveKDigits.swift
//  LeetCodeSwift
//
//  Created by XFB on 2019/8/2.
//  Copyright © 2019 XFB. All rights reserved.
//  移除K位数字

import Foundation

class RemoveKDigits {
    
    /**
     给定一个以字符串表示的【非负整数】 num，移除这个数中的 【k 个数字】，使得剩下的数字【最小】。
     
     注意:
     
     num 的长度小于 10002 且 ≥ k。
     num 不会包含任何前导零。
     
     示例 1 :
     输入: num = "1432219", k = 3
     输出: "1219"
     解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。
     
     示例 2 :
     输入: num = "10200", k = 1
     输出: "200"
     解释: 移掉首位的 1 剩下的数字为 200. 注意输出不能有任何前导零。
     
     示例 3 :
     输入: num = "10", k = 2
     输出: "0"
     解释: 从原数字移除所有的数字，剩余为空就是0。
     
     */
//    func removeKdigits(_ num: String, _ k: Int) -> String {
//
//        if num.isEmpty || k >= num.count {
//            return "0"
//        }
//        
//        var numArray = Array.init(num)
//
//        var Stack = [Int]()
//        var result = ""
//        for index in 0 ..< numArray.count {
//
//            let value = String(numArray[index])
//            let number = Int.init(value)
//            while Stack.count != 0 && k > 0 {
//                Stack.popLast();
//            }
//
//            if number != 0 || Stack.count != 0 {
//                Stack.append(number!)
//            }
//
//            while Stack.count != 0 && k > 0 {
//                k = k - 1
//            }
//        }
//        return result
}
